application design system internals cad thin-client mathematical research engineering assembler java management reverse engineering radius3 cobol kernel programming c++ development numerical algorithm